home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 41
/
Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso
/
Aminet
/
util
/
sys
/
68040Lib.lha
/
68040Lib
/
Include
/
libraries
/
disassembler.i
< prev
Wrap
Text File
|
1999-10-31
|
3KB
|
64 lines
;*************************************************************************
;** disassembler.library **
;** **
;** a simple system library for disassembling a86K binaries **
;** **
;** © 1999 THOR-Software, Thomas Richter **
;** No commercial use, reassembly, modification without prior, written **
;** permission of the authors. **
;** Including this library in any commercial software REQUIRES a **
;** written permission and the payment of a small fee. **
;** **
;**---------------------------------------------------------------------**
;** Definition of the library, and structures **
;** **
;** $VER: 40.2 (31.10.99) © THOR **
;*************************************************************************
IFND LIBRARIES_DISASSEMBLER_I
LIBRARIES_DISASSEMBLER_I SET 1
IFND EXEC_TYPES_I
INCLUDE "exec/types.i"
ENDC ; EXEC_TYPES_I
IFND EXEC_LIBRARIES_I
INCLUDE "exec/libraries.i"
ENDC ; EXEC_LIBRARIES_I
;* There's really nothing in this library base you need to care about *
STRUCTURE DisassemblerBase,LIB_SIZE
LABEL dllib_SIZE
DISASSEMBLERNAME MACRO
DC.B 'disassembler.library',0
ENDM
;* The one and only structure you need to care about. This one is
;* passed in to Disassemble() *
STRUCTURE DisData,0
APTR ds_From ;* base to start disassembly from *
APTR ds_UpTo ;* where to stop it *
APTR ds_PC ;* the disassembler prints a "*" here *
APTR ds_PutProc ;* to avoid casts, this is a void *. *
APTR ds_UserData ;* passed to the PutProc in a1 and a3 *
APTR ds_UserBase ;* passed to the PutProc in a4 *
UWORD ds_Truncate ;* limit width of the output *
UWORD ds_reserved ;* this is currently reserved *
LABEL ds_SIZE
;* PutProc is actually a function pointer, but due to different compilers
;* and conventions defined here as a void *. It is called with the
;* character to print in d0, the user data in a1 and a3 and the user
;* base in a4. This is most useful for C code.
;* The library functions are interrupt-callable, provided your PutProc
;* is.
ENDC ;LIBRARIES_DISASSEMBLER_I